package com.fanilycar51.mvp.mvpbase;

import java.lang.ref.WeakReference;

/**
 * 创建日期：2017/9/7  16:06
 * 描述:抽取的MVP模式的P层
 * 作者:张伟
 */

public class BasePresent<P> {
    //使用软引用+生命周期方法解决内存泄露问题
    //View层的引用
    protected WeakReference<P> mView;

    /**
     * 绑定方法
     */
    public void attach(P view) {
        mView = new WeakReference(view);
    }


    /**
     * 解绑方法
     */
    public void detachView() {
        mView.clear();
    }

    /**
     * 提供获取View的方法
     *
     * @return
     */
    protected P getView() {
        return mView.get();
    }
}
